Information processing system which understands information and acts accordingly and method therefor

ABSTRACT

An information processing system which understands the input information as a situation, infers the requirements that situation merits and the preferred responses to those requirements using a knowledge base which has knowledge about the situations, requirements and their responses and the relations among them, and by generating these inferences further understands the input and the situation, which enables it to perform efficiently and effectively, given small amount of input information. If input information is in natural language, the linguistic knowledge base is used to analyze the input natural language information. Further, a knowledge of the user, the operations performed by the user and knowledge of the relationship between the operations of the user and the attribute of the user may also be used by the system to appropriately operate for each user.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a system for processing inputinformation or controlling execution of a process in accordance with theenvironment around the system and/or the attributes of user and a methodtherefor.

2. Related Background Art

Hitherto, a system has been known which interprets input in a naturallanguage to infer a goal or an intention of a user from the input. Torealize a system of the foregoing type, the system must have a naturallanguage parser (analyzer) for converting a natural language, such asEnglish, into a computer expression and a mechanism, which uses aknowledge base formed by making a goal and a plan for achieving the goalto correspond to each other to infer a goal behind input.

Another system is available in which input in a natural language cannotbe processed but which performs a predetermined process in accordancewith commands, a menu or the like.

In the conventional natural language processing system, input in anatural language is converted into a computer expression and the goalbehind that input is inferred using a knowledge base which has theknowledge of goals and plans. However, it has not been applied topredict the results of a possible plan, especially its undesirableeffects.

In a system employing an input method which does not use the naturallanguage, a command is interpreted to a limited meaning defined withrespect to the command. Therefore, the intention of the command is notconsidered. Moreover, an erroneous input occurring due to a mistake inthe operation by a user is not normally taken into account in theforegoing system.

Hitherto, a system is available in which a user is able to determine thelevel of the operational environment, such as whether help information,guidance information or the like from the system is provided, isdetermined by a user in accordance with his expertise with respect tothe system or the complexity of the task to be performed in the system.

There has been another system in which a list of previously inputcommands is stored to which a reference can be made by a user or whichenables a user to again execute the stored command.

However, the foregoing conventional systems require a user to determineand change the level of the operational environment by operating buttonsor inputting commands.

Moreover, simple provision of the help information causes the helpinformation having the same contents to be given to the user regardlessof the expertise level of the user. Therefore, a skilled user is givenunnecessarily detailed information, while the provided contents are toodifficult for a beginner to be understood. Thus, the foregoing systemsare unsatisfactory for the both types of users.

The conventional systems require a user to perform a complicated processto make a reference to the command list or again perform a command, thusrequiring the user to be skilled in the procedure.

SUMMARY OF THE INVENTION

Accordingly, an object of the present invention is to provide aninformation processing system capable of executing a processcorresponding to input information and suitable to the situation and amethod therefor.

Another object of the present invention is to provide an informationprocessing system capable of controlling execution of a process inaccordance with the attribute of a user and a method therefor.

Another object of the present invention is to provide an informationprocessing system which makes a plan to meet a requirement from a userand which is capable of predicting a result of execution of the plan anda method therefor.

According to one aspect, the present invention which achieves theseobjectives relates to an information processing system comprising:inputting means for inputting information; a knowledge base havingknowledge of the relationship among situations, requirementscorresponding to the situations and responses corresponding to therequirements; inference means which retrieves the knowledge base inaccordance with the information input by the inputting means to infer arequirement corresponding to the information and the situation; andoutputting means for outputting the requirement inferred by theinference means.

According to another aspect, the present invention which achieves theseobjectives relates to an information processing system comprising:inputting means for inputting information; a knowledge base havingknowledge of the relationship among a situation, a requirement, aresponse corresponding to the requirement, a plan corresponding to therequirement and a result of execution of a process; requirementinference means which retrieves the knowledge base in accordance withthe information input by the inputting means to infer a requirementcorresponding to the information; plan construction means forconstructing a plan corresponding to the requirement; and predictingmeans for predicting a result of execution of the plan by performing asimulation of the plan made by the plan construction means.

According to still another aspect, the present invention which achievesthese objectives relates to an information processing system comprising:inputting means for inputting a command from a user; history storagemeans for storing input information performed by the inputting means; aknowledge base having knowledge of commands; inference means whichinfers the possible next-command to be input next by the inputting meansthe knowledge base in accordance with the information stored in thehistory storage means; and outputting means for outputting the possiblecommands inferred by the inference means.

According to another aspect, the present invention which achieves theseobjectives relates to an information processing system comprising:inputting means for inputting information from a user; a knowledge basehaving knowledge of the attributes of each user, on the basis of theknowledge retrieved from requirements corresponding to the attributes ofthe users and responses corresponding to the requirements; inferencemeans which retrieves the knowledge base in accordance with theinformation input by the inputting means and the attribute of the user,the information of which has been input, so as to infer a requirementwhich corresponds to the information and the attribute of the user; andoutput means for outputting the requirement inferred by the inferencemeans.

According to another aspect, the present invention which achieves theseobjectives relates to an information processing system comprising:natural language inputting means for inputting information in a naturallanguage; a linguistic knowledge base having knowledge of languages; aglobal knowledge base having knowledge of common sense; analyzing meansfor analyzing, by using the linguistic knowledge base, the naturallanguage information input by the natural language inputting means; asituation knowledge base having knowledge of the relationship amongsituations, requirements corresponding to the situations and responsescorresponding to the requirements; requirement inference means whichretrieves the situation knowledge base in accordance with the result ofanalysis performed by the analyzing means to infer a requirementcorresponding to the natural language information; and outputting meansfor outputting the requirement inferred by the requirement inferencemeans.

According to another aspect, the present invention which achieves theseobjectives relates to an execution control system comprising: operationmeans which is operated by a user; executing means for executing aprocess in accordance with the operation performed by the operationmeans; a knowledge base having knowledge of operations to be performedby the operation means and the relationship among the operations and theattributes of the user; inference means for inferring the attribute ofthe user in accordance with the knowledge in the knowledge base; andcontrol means for controlling execution to be performed by the executingmeans in accordance with the attributes of the user inferred by theinference means.

According to another aspect, the present invention which achieves theseobjectives relates to an execution control system comprising: operationmeans to be operated by a user; executing means for executing a processin accordance with the operation performed by the operation means;history storage means for storing history of operations performed by theoperation means; and control means for controlling execution of theprocess by the execution means in accordance with the history of theoperations stored in the history storage means.

According to another aspect, the present invention which achieves theseobjectives relates to an execution control system comprising: operationmeans to be operated by a user; executing means for executing a processin accordance with the operation performed by the operation means;history storage means for storing history of operations performed by theoperation means; a knowledge base having knowledge of the operations ofthe operation means and the relationship between the operations and theattributes of the user; inference means for inferring the attribute ofthe user in accordance with the history of the operations stored in thehistory storage means and the knowledge in the knowledge base; andcontrol means for controlling execution of the process by the executingmeans in accordance with the attributes of the user inferred by theinference means.

According to another aspect, the present invention which achieves theseobjectives relates to an information processing method comprising thesteps of: an inputting step for inputting information; an inference stepwhich retrieves a knowledge base having knowledge of situations,requirements corresponding to the situations and the relationshipbetween the requirements and responses in accordance with theinformation input in the inputting step to infer a requirementcorresponding to the information and the situation; and an outputtingstep for outputting a requirement inferred in the inference step.

According to another aspect, the present invention which achieves theseobjectives relates to an information processing method comprising thesteps of: an inputting step for inputting information; a requirementinference step for retrieving, in accordance with the information inputin the inputting step, a knowledge base having knowledge of therelationship among situations, requirements, responses corresponding tothe requirements, plans corresponding to the requirements so as to infera requirement corresponding to the information; a making means formaking a plan corresponding to the requirement; and a predicting stepfor predicting a result of execution of the plan by performing asimulation of the plan made in the making step.

According to another aspect, the present invention which achieves theseobjectives relates to an information processing method comprising thesteps of: an inputting step for inputting a command from a u a historystorage step for storing information of history of inputs performed inthe inputting step; an inference step in which a reference is made to aknowledge base having knowledge of commands in accordance with theinformation of history stored in the history storage step to inferpossible commands to be next input in the inputting step; and anoutputting step for outputting the possible commands inferred in theinference step.

According to another aspect, the present invention which achieves theseobjectives relates to an information processing method comprising thesteps of: an inputting step for inputting information from a user; aninference step for retrieving a knowledge base having knowledge of therelationship among the attribute of each user, requirementscorresponding to the attributes of the users and responses correspondingto the requirements in accordance with the input information in theinputting step and the attribute of the user, who has input theinformation so as to infer a requirement which corresponds to theinformation and the attribute of the user; and an outputting step foroutputting a requirement inferred in the inference step.

According to another aspect, the present invention which achieves theseobjectives relates to an information processing method comprising thesteps of: a natural language inputting step for inputting information ina natural language; an analyzing step for analyzing the natural languageinformation input in the natural language inputting step by using alinguistic knowledge base having knowledge of languages and a globalknowledge bass having knowledge of common sense; a requirement inferencestep for retrieving the situation knowledge base having knowledge of therelationship among situations, requirements corresponding to thesituations and responses corresponding to the requirements to infer arequirement corresponding to the natural language information; and anoutputting step for outputting the requirement inferred in therequirement inference step.

According to another aspect, the present invention which achieves theseobjectives relates to an execution control method comprising the stepsof: an executing step for executing a process in accordance with theoperation of an operation portion performed by a user; a knowledge basehaving knowledge of operations of the operation portion and knowledge ofthe relationship between the operations and the attributes of users; aninference step for inferring the attributes of the user in accordancewith the knowledge of the knowledge base; and a control step forcontrolling execution of a process to be performed by the executing stepin accordance with the attributes of the user inferred in the inferencestep.

According to another aspect, the present invention which achieves theseobjectives relates to an execution control method comprising the stepsof: an operation step in which an operation is performed by a user; anexecuting step for executing a process in accordance with the operationperformed in the operating step; a history storage step for storinghistory of the operations performed in the operating step; and a controlstep for controlling execution of the process in accordance with thehistory of the operations stored in the history storage step.

According to another aspect, the present invention which achieves theseobjectives relates to an execution control method comprising the stepsof: an operation step in which an operation is performed by a user; anexecuting step for executing a process in accordance with the operationperformed in the operating step; a history storage step for storinghistory of the operations performed in the operating step; a knowledgebase having knowledge of the operations to be performed in the operationstep and knowledge of the relationship between the operations and theattributes of the user; an inference step for inferring the attributesof the user in accordance with the history stored in the history storagestep and the knowledge of the knowledge base; and a control step forcontrolling execution in the executing step in accordance with theattribute of the user inferred in the inference step.

Other objectives and advantages besides those discussed above shall beapparent to those skilled in the art from the description of a preferredembodiment of the invention which follows. In the description, referenceis made to accompanying drawings, which form a part thereof, and whichillustrate an example of the invention. Such example, however, is notexhaustive of the various embodiments of the invention, and thereforereference is made to the claims which follow the description fordetermining the scope of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the hardware components of aninformation processing system according to an embodiment of the presentinvention;

FIG. 2 is a block diagram showing the basic functions of the informationprocessing system;

FIG. 3 is a function block diagram of an understander;

FIG. 4 shows an example of a rule base;

FIG. 5 shows an example of a menu for inputting name of a sender;

FIG. 6 shows an example of a menu for inputting name of a receiver;

FIG. 7 shows an example of a person's data base;

FIG. 8 is a flow chart of a confirmation process;

FIG. 9 shows an example of a menu for inputting the purpose of a letter;

FIG. 10 shows an example of a menu for inputting a sub-goal;

FIG. 11 shows an example of a menu for inputting detailed informationabout a visit;

FIG. 12 shows an example of a menu for inputting additional requests;

FIG. 13 shows an example of a letter to be output;

FIG. 14 shows an example of a process to be performed by a CA in theprocess of writing a letter;

FIG. 15 shows a process for writing a letter;

FIG. 16 shows an example of a result of a chained inference;

FIG. 17 shows an example of a task network;

FIG. 18 shows an example of a completed task network;

FIG. 19 shows an example of output of a letter;

FIG. 20 shows an example of a process to be performed by the CA in theprocess of writing a letter;

FIG. 21 shows a process for writing a letter;

FIG. 22 shows an example of output of a letter;

FIG. 23 shows an example of a process to be performed by the CA in theprocess of writing a letter;

FIG. 24 shows a process for re-constructing a letter;

FIG. 25 shows an example of output of a letter;

FIG. 26 shows an example of a related knowledge base;

FIG. 27 shows an example of a plan to be executed;

FIG. 28 is a function block diagram of an information processing systemaccording to the embodiment of the present invention;

FIG. 29 shows an example of input and output of help information;

FIG. 30 shows an example of input and output corresponding to a naturallanguage interface;

FIG. 31 shows an example of knowledge base of commands;

FIG. 32 shows an example of input and output corresponding to a naturallanguage interface of an OA machine;

FIG. 33 shows an example of input and a process of maintenance of thedata base;

FIG. 34 shows an example of input and a process of maintenance of thedata base;

FIG. 35 shows an example of a process for supplementing a user commandby the system;

FIG. 36 shows an example of the structure of the data base;

FIG. 37 shows an example of the structure of a domain knowledge base;

FIG. 38 shows an example of input and output when an input mode ischanged;

FIG. 39 shows an example of input and output when an input mode ischanged;

FIG. 40 shows an example of input and output when an input mode ischanged;

FIG. 41 shows an example of input and output when an input mode ischanged;

FIG. 42 shows an example in which a query from a user is processed;

FIG. 43 shows an example of a goal and plan structure;

FIG. 44 shows an example in which a query from a user is processed;

FIG. 45 shows an example of a goal and plan structure;

FIG. 46 shows an example in which a query from a user is processed;

FIG. 47 is a function block diagram of an information processing system;

FIG. 48 is a function block diagram of a natural language processingsystem;

FIGS. 49(a), 49(b), 49(c) and 49(d) show an example of the attributes inthe knowledge base;

FIGS. 50(a), 50(b), 50(c) and 50(d) show an example of the attributes inthe knowledge base;

FIG. 51 shows an example of a model of a user;

FIG. 52 shows an example of a knowledge base storing user models;

FIG. 53 shows example of a domain rule base;

FIG. 54 shows an example of a domain knowledge base;

FIG. 55 is a flow chart of a process to be performed by an informationretrieving system;

FIG. 56 is a flow chart for processing a query from a user;

FIGS. 57A and 57B are flow charts for processing a query from a user;

FIG. 58 is a flow chart for processing a query from a user;

FIG. 59 is a flow chart for processing a query from a user;

FIG. 60 is a flow chart for processing a query from a user;

FIG. 61 shows an example of a response to a query from a user; and

FIG. 62 shows an example of a response to a query from a user.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to the drawings, embodiments of the present invention will nowbe described.

Referring to the drawings, a first embodiment of the present inventionwill now be described.

FIG. 1 is a block diagram showing the components of the hardware of adocument processing apparatus according to the first embodiment of thepresent invention and comprises of an input unit 1, a CPU 2, an outputunit 3, a program memory 4, a data memory 5 and a bus 6.

Referring to FIG. 1. the input unit 1 is a unit for inputtinginformation, for example, a keyboard for inputting characters orselection commands by the keys thereon. The input unit 1 is not limitedto this but the same may be a mouse for indicating the portion on adisplay frame, a voice input apparatus including a voice recognizingapparatus, an image input apparatus including a character recognizingapparatus or a receiver for receiving information from another apparatusor their combination which enables selection. Moreover, informationcreated in another process in the document processing apparatusaccording to the present invention may be input.

The CPU 2 calculates data for use in a variety of processes and performslogical judgments to control the components connected to the bus 6.

The output unit 3 has a display unit, such as a CRT or a liquid crystaldisplay unit or another apparatus, such as a voice output apparatus,which synthesizes information to output it as voice, a printer forprinting out information, or a transmission apparatus for transmittinginformation to another apparatus or their combination to enableselective use. Moreover, the output from the output unit 3 may be inputfor another process to be performed in the apparatus according to thisembodiment.

The program memory 4 is a memory for storing programs including aprocessing procedure in accordance with flow charts with which the CPU 2controls the operation of the apparatus according to this embodiment.The program memory 4 may be a ROM or a RAM into which a program isloaded from an external storage apparatus.

The data memory 5 stores data formed in a variety of processes andstores knowledge in a knowledge base to be described later. The datamemory 5 is, for example, a RAM including a knowledge base which must bepreviously loaded prior to performing the process from a nonvolatileexternal storage medium or to which reference is made as the needarises.

The bus 6 transfers an address signal for indicating a component to becontrolled by the CPU 2, control signals for controlling the componentsand data to be communicated between the components.

FIG. 2 is a basic function block diagram showing an informationprocessing apparatus according to an embodiment of the presentinvention.

Referring to FIG. 2, commands from a user, the state of the apparatus,and information about the environment of the apparatus are supplied fromthe input unit 1. An understander 21 makes a reference to the knowledgebase 22 in accordance with information supplied from the input unit 1 tounderstand input information and current situation to generate requiredinformation to be output. The knowledge base 22 is a knowledge basehaving knowledge, such as causes, results and the like. Informationgenerated by the understander 21 is transmitted to the output unit 3 tobe output to a user or a predetermined apparatus.

As an example in which an apparatus is operated in accordance withcommands, the control of a car will now be described.

In this embodiment, the environmental condition around the car, such asthe operational states of an accelerator, brake, and a steering wheel ofthe user's car, existence of other car in front and rear of the user'scar and the distance between two cars are detected by sensors and thedetected results are input. As outputs, control information forcontrolling deceleration, acceleration, turning of a head light on andthe like is transmitted.

FIG. 3 is a block diagram showing an understander 21 according to thisembodiment. A goal detecting portion 31 detects the intention of a user,an inferring portion 32 infers operations required to achieve thedetected goal. A simulation portion 33 examines the effects (includingwhether an adverse effect takes place) of executing the operationsobtained by the inferring portion 32. An executing portion performs theoperation.

FIG. 4 shows an embodiment of a rule base according to this embodiment.If application of the brake by a user is detected, then inference ismade that deceleration is needed in accordance with rule (a) shown inFIG. 4. If a fact that the car in the front is braking is detected asthe environmental state, then an inference is, in accordance with rule(d), made that the distance with respect to the car in the front isclosing in. Moreover, an inference is made that the car needs toincrease the distance from the car in the front in accordance with rule(c). Then. an inference is made that the car must reduce the speedthereof, that is, deceleration must be performed in accordance with rule(b). This inference coincides with the inference made in accordance withrule (a). As a result of the foregoing inferences, it can be understoodthat the reason for the application of the brakes is that the car in thefront has braked. Moreover, a goal for deceleration can be obtained.Since deceleration is needed, a hazard lamp is turned on if there is acar close behind and the speed is reduced as slowly as possible inaccordance with rule (e). In other cases, the car is decelerated by thevalue required by application of the brakes. In accordance with rule(f), if the car in the front has started accelerating during thedeceleration of the car, then the distance with respect to the front caris increased, then the distance with respect to the front car increases.Thus, deceleration can be abandoned and acceleration can be performed.

A system for writing a letter by selecting required items from a menuwill now be described.

FIG. 5 shows an example of a menu screen for inputting information of asender of a letter, such as name, organization and the like.

FIG. 6 shows an example of a menu screen for inputting information of areceiver, such as name, organization and the like.

The order of first name and family name is different among countries.Accordingly, the system has a model for correcting input error made by auser. In an example case shown in FIG. 6, since “John”, which is thefirst name, has been entered as the family name, it is corrected.Furthermore, the system attempts to add information not given in theinput about “John” by making a reference to a data base or the like.

FIG. 7 is a diagram showing an example of a portion of an SDB which is adata base for persons.

Since two persons exist whose name is “John” in the SDB shown in FIG. 7,the system according to this embodiment performs a confirmation processin accordance with a flow chart shown in FIG. 8.

In step S81, the system queries the user family name of “John”. Anassumption is made here that the user has selected “John Smith” in stepS82. Although “John Smith” belongs to Rochester University in the SDB,“Duke” has been, as the organization, input together with “John”.Therefore, the system queries the user in step S83 whether “John” hasshifted to the Duke University.

If the user replies YES, then the operation proceeds to step S84 so thatthe organization to which “John Smith” belongs is changed to the DukeUniversity. If the reply from the user is that he has made a mistake,the concept is corrected in step S85. If the reply from the user is thatthe shift for a temporary shift in a limited period, this fact is inputinto the SDB in step S86.

If only one person, whose name is John and who belongs to the Dukeuniversity, exists in the SDB, the process shown in FIG. 8 may beomitted but a determination of the person or information of the personmay be output to cause the user to confirm the person.

If any previous communication or relationship cannot be detected betweenthe sender and the receiver, the system assumes that the letter to bewritten is a first letter from the user and displays a menu screen shownin FIG. 9.

FIG. 9 shows a menu screen through which the purpose of the letter isinput.

An assumption is made here that a user has selected “1”, that is, theuser intends to visit John. Then, the system displays a menu shown inFIG. 10 to obtain a sub-goal for the visit. An assumption in made that“1” is selected.

FIG. 11 shows a menu through which information about the visit will beinput. The shaded portions are portions inferred by the system. As forthe date, if the current date is the tenth day of April, 1993, then aninference is made that the visit will be made in 1993. If the user hasinput the seventh day, the system may infer that the visit will be madeon the seventh day of May which is the nearest future seventh day. Ifthe system is so structured, the user is required to simply input “7”.

Moreover, from the input information of receiver being John and letterbeing about visit, the system infers that there is a good possibility ofthe visit being to John and at his organization and, therefore “DukeUniversity” is displayed to which John belongs. As a matter of course,the information input by the system can be rewritten by a user.

In the case where the user has input “y” in reply to the query from thesystem “Any other Requests” as shown in FIG. 11, a menu shown in FIG. 12is displayed. An assumption is made here that the user has requestedJohn to reserve accommodation for the user to stay in a hotel andtherefore the user has selected “1”.

In accordance with the foregoing input, a letter as shown in FIG. 13 isoutput.

When the system infers the reason for the user to visit the person, itassumes that the user believes that information can be obtained from thereceiver which would satisfy the users general goal of findinginformation and searches for a reason for that the belief of user.Accordingly, the system searches for the relationship between knowledgeof the work of the user and knowledge of that of the receiver.

Moreover, the system has a function which makes a reference to thecontents of the previous communication records (existing in a history ofoperations for the user) to make an inference and make a plan.

In the case where an appointment is being fixed in a first letter to thereceiver from the user, the system examines the user's schedule (fromthe contents of the previous letters or otherwise), finds any overlap,correlation or anything else which can contribute to a reason, andinfers the reason for the visit to be in the specified period (theperiod which is given as the time of the meeting). In the case where aletter is written as a response to the receiver's letter, the systemestablishes the relationship with the receiver by using the history,fetches the latest letter from the data base and the user'schedule andpredicts the response from the user (for example, whether the date isacceptable) in accordance with the contents of the latest letter and/orthe schedule.

An embodiment of d case will now be described where the system promptsthe residual commands to the user in case the commands have been inputincompletely.

In the case where only one command exists corresponding to the input,then the system completes the user's input by that command, for example,in a case where “Sav” have been input by the user, only one command“Save” correspond to “Sav” so that system assumes it to be “Save”.

If many corresponding commands exist, for example, if “co” have beeninput by the user, commands “compile”, “Copy” and “continue” correspondto “co”, then if the history of the commands input by the user is storedthen it can be accessed to find that the last command input by the useris “Save”. Thus, an inference can be made that “co” is most likely to be“compile” as that is the logical follow up command after saving.

An embodiment will now be described in which information input in anatural language is processed. FIG. 28 shows a basic function blocks ofan apparatus for processing information input written in a naturallanguage.

Referring to FIG. 28, an input unit 35 is used to input a command from auser in natural language, the operational state of the apparatus, theenvironmental information and the like. A conceptual analyzer (CA) 36analyzes the concept of natural language information input by the inputunit 1 by making a reference to a knowledge base 22 having knowledge oflanguages and common sense. An understander 21 has a pre-understanderand a main understander to understand the current situation to producerequired information to be output. The knowledge base 22 has knowledge,such as causes and results. Information produced by the understander 21is transmitted to an output unit 3 to be output to the user or apredetermined apparatus.

According to the foregoing embodiment, an optimum response can berealized in accordance with a minimum input given. Even if inputinformation has an error, the error can be corrected and then theresponse having no error can be made. Moreover, the risk of executing aprocess which might result in a problem due to, for example, anerroneous is command, can be prevented.

An embodiment will now be described in which a letter is written inaccordance with an input in a natural language. The detailed structureof this embodiment has been described by the applicant of the presentinvention in U.S. Pat. No. 492,930 (Europe Patent No. 95,304,346).

In the case where “Reply to John's letter accepting to meet on 10th Mayat 3 pm to discuss on PDA system,” has been input as shown in FIG. 14,the conceptual analyzer (CA) 36 for analyzing the natural language inputto output a corresponding concept, transmits, to the understander 21,concept C1 shown in FIG. 14 as a result of the analysis of the input.

An assumption is made here that the pre-understander of the understander21 is not called for, in this example. The processing by the mainunderstander will now be described.

Initially, actors included in the information are found. As shown inportion (a) of FIG. 15, the sender is a Rohra and the receiver is JohnSmith. The type of the letter is a response. Moreover, the data base hasno contents which would refer to the context. However, the context canbe obtained from the input, since the sender wishes to create aresponse. The letter from the receiver can be inferred from C3 obtainedfrom the analyzed input.

Accordingly, the main understander processes C3, thus resulting in agoal being inferred as shown in portion (d) of FIG. 15 so that a chainedinference as shown in FIG. 16 is made. Then, a plan for understanding ismade. That is, a task network having a structure as shown in FIG. 17 isconstructed which connects the good ASK to M-visit, thus explaining theinput. Further, the post-understander completes the incomplete portionin the plan shown in FIG. 17 so that a task network shown in FIG. 18 isobtained. In accordance with the foregoing plan, a letter from thereceivers is re-constructed for confirmation.

Then, a response letter from the sender is written in accordance withthe input (C2 obtained from the input). With respect to CD of thereceived letter, S_MAINGOAL, which is a discussion about the PAD system,is inferred to be an acceptable request, S_MAINPLAN, which is meeting,is accepted, and a more specific value for the time is specified by theuser as 10th May 3 pm with respect to S_PLAN (e.g., after 8th May), asshown in portion (a) of FIG. 15. Thus, a letter shown in FIG. 19 iswritten.

Another embodiment of the letter will now be described. In thisembodiment, the previous context is assumed to be available in the database. Therefore, only those portions which are different from theforegoing embodiment during processing will now be mainly described.

In the case where “Reply to John's letter confirming the meeting time,19th May at 3 pm. Also, request him to arrange for pickup” are input asshown in FIG. 20 concepts C1 and C4 are output from the CA 31.

In the main understander, the reference and previous context can beobtained from the data base so that visiting after 10th May and the needof response to John's letter are understood. As shown in portion (d) ofFIG. 21, the previous letter is retrieved from the data base. As shownin portion (e) of FIG. 21, S_MAINGOAL, which is a discussion about thePAD system, is an acceptable request, and S_MAINPLAN, which is meeting,is accepted. The foregoing facts can be inferred from the input“confirming the meeting time, 19th May at 3 pm.” A more specific valuefor time is specified by the user as 19th May 3 pm with respect toS_PLAN. As the letter from the sender, other requests are added (arequest for picking up can be inferred from “request him to arrange forpickup”) in addition to the confirmation response. Then, processing asin the foregoing embodiment a letter shown in FIG. 22 is written.

Another embodiment of the letter will now be described. In thisembodiment, the system cannot infer the letter from the receiver fromthe given input but instead the system requires the user to input thatinformation.

Then, portions different from the foregoing embodiment will now bedescribed.

In the case where “Reply to John's letter” have been. input as shown inFIG. 23, concept C1 is output from the CA 31.

In the main understander, the reference and previous contexts areassumed to be obtainable from the data base so that visiting after 10thMay and the need to respond to John's letter are understood. As shown inportion (d) of FIG. 23, the previous letter is retrieved from the database. Since nothing has been specified in the input as shown in portion(e) of FIG. 23, the system cannot infer the receiver's letter, hence itqueries the user to input the contents of the letter, e.g., by an OCR.Thus, the contents of the letter as shown in portion (e) of FIG. 23 areinput. Then, as shown in FIG. 24, processing similar to the one forforegoing embodiment is done, so that a letter shown in FIG. 25 iswritten.

An embodiment, in which natural language is used to operate anapparatus, will now be described.

FIG. 26 shows an example of knowledge in a knowledge base relating tocommands in this embodiment, which stores processes and the procedure ofthe operations for inputting commands for use in the processes in theform of goals and plans.

FIG. 27 shows specific examples of the input and plans to be executed.If “Change the size and font of the letter to bold and 12 point,” havebeen input as shown in FIG. 27, a procedure is retrieved in accordancewith the knowledge shown in FIG. 26 to change the font to bold and thesize to 12 point. It can be inferred from the form of the inputsentence, that the user requires the system to perform an operation inaccordance with the foregoing command, therefore the system executes theprocedure obtained as a result of the retrieval as shown in FIG. 27.

The operation of the system will now be described, in which, the sameprocessing as that in the foregoing embodiment is carried out, but helpinformation is required to operate the apparatus in place of requiringthe apparatus to execute the process. As in the foregoing embodiment,the system uses the knowledge shown in FIG. 26.

FIG. 29 shows a specific example of input and outputs for such a caseWhen “How can I change the size and font of the letter to bold and 12point,” have been input as shown in FIG. 29, the procedure for changingthe font to bold and size to 12 point is retrieved from the knowledgeshown in FIG. 26. From the form of the input sentence, it is understoodthat the user intends to know the procedure to operate the apparatus.Thus, the system outputs, to the user, the operational procedureobtained as a result of the retrieval as shown in FIG. 29.

Another embodiment in which the operation of the apparatus is performedthrough a natural language will now be described.

FIG. 30 shows input and output processes according to this embodiment.FIG. 31 shows an example of knowledge used in this embodiment. If “Savethis file in a separate directory under MEMO” have been input as shownin FIG. 30, the CA 36 analyzes that “this file” implies the current tileand “separate directory” is a new directory. Thus, the understandermakes name (MEMO1 formed by adding an extender to MEMO) of the new filein accordance with a rule, and copies the current file to the foregoingdirectory. Then, the understander outputs the result of execution. If“make it confidential” has been input, an interpretation by the CA 36 isin effect to forbid access from another person and therefore protect isexecuted.

As another embodiment in which the operation of the apparatus isperformed through a natural language, an embodiment in which OA machineis operated will now be described.

Portion (a) of FIG. 32 shows a case where a copying machine is operated,while portion (b) shows a case where a facsimile machine is operated.

In the example shown in portion (a) of FIG. 32, when “make 5 copies ofthis reduced to A4” have been input, the CA 36 interprets that this is acurrent document and causes a scanner to scan the document so as todetect the current situation that the size of the document is, forexample, A3. In accordance with the detected size and the specifiedsize, the reduction ratio is determined. Moreover, a tray for thespecified paper is selected. At this time, if the size of paper to beoutput is A4R, this fact may be warned to the user so as to beconfirmed. Then, copying is performed, and a message that copying hasbeen performed is output.

Tn the example shown in portion (b) of FIG. 32, if “send this to Mr.Smith and it is not urgent” have been input, CA interprets that “this”is a current document similarly to the foregoing embodiments. Since itcan be understood that current facsimile operation is not urgent fromthe input information, the original document to be transmitted is readand stored to be transmitted at night. If the line is busy, retrial isperformed after a certain time has elapsed.

If “Have you sent the fax to Mr. Smith? Has he replied?” have been inputadditionally by the user, the transmission history is examined to checkwhether the transmission has been performed. A result and time of thetransmission are reported to the user.

Whether a reply has been received from Mr. Smith may be confirmed by anOCR or the like to report a result of the confirmation to the user.

An example of maintenance of the contents of the data base will now bedescribed. FIG. 33 shows an example of an input and processes to beperformed in accordance with the situation, according to the presentinvention.

If “check whether Smith's address is still Rochester, if yes, change itto Duke” have been input as shown in FIG. 33, the system finds Smith inthe data base. It not unique and the one with address at Rochester isfound. Then, the system confirms from the user that he means that. Ifone corresponding Smith has been found, a global data base is searchedprior to performing replacement to obtain complete name and address ofDuke. Thus, “Duke” can be inferred to be the Duke University and, inthis case, confirmation with user is performed whether new address maybe added to John.

If no “Smith at Rochester” is found, whether or not one with address atDuke exists is checked. It that is found, it is shown to the user to beconfirmed. If the user confirms that he means the same Smith as the onesystem has found, then nothing is done.

If no Smith is found at Rochester and not at Duke, a list of all entriesof Smith is shown to the user for selection of the appropriate one bythe user. Then, the address of the selected person is changed.

If nothing is found, the system queries the user whether new data is tobe created.

An embodiment in which the contents of the data base are maintainedduring the processing of an input which itself is not an instruction fordata base maintenance will now be described.

FIG. 34 shows an input and a process to be performed in accordance withthe situation according to this embodiment.

If a command to write a letter as “write to John Smith at the Instituteof Optics, Univ. of Rochester, Rochester, N.Y.” has been input, thepre-understander of the system infers that “Institute of Optics” is theorganization belonging to Univ. of Rochester and that Rochester is acity and “NY” is a state and the last-two are parts of address.

In accordance with the given and inferred information, the system makesa new entry in the data base. At this time, the system queries whetherthe given address is a complete address. The user replies that it issufficient although it is not complete, and instructs the system to adda zip codes. Thus, the system adds the zip code, stores the. completeentry in the data base, and continues with letter writing.

An embodiment in which a command from a user is supplemented by thesystem will now be described.

FIG. 35 shows an example of an input and an output according to thisembodiment. The user initially inputs “write to person in charge at ABCfor purchase of their new PC's”.

FIG. 36 shows an example of the structure of a data base for use in thisembodiment. In this embodiment, five entries exist with respect to ABCcorporation as shown in FIG. 36. However, since the system knows thatthe user is in Tokyo from the information about the user, entries exceptthose for Japan are ignored.

FIG. 37 shows an example of a knowledge base of then ABC corp for use inthis embodiment. The system infers that the user intends to write aletter to the organization in Ueno because the user wishes to writeabout purchase, so it must be to the Sales division and among salesorganizations it is the one nearest to Tokyo. Accordingly, the systemoutputs “I assume you means ABC Japan, Ueno since they are handlingsales-shall we write to them?” as shown in FIG. 35 to be confirmed bythe user. If this is confirmed, the knowledge base storing theorganizational knowledge, shown in FIG. 37 is used to infer anappropriate receiver of the letter being General Manager, MarketingDivision, ABC Japan and the system outputs a letter to General Manager,marketing Division, ABC Japan, Ueno, Japan”.

An example will now be described in which help to a GUI (Graphical UserInterface) is in natural language.

FIG. 38 shows an example of input and output for help to change theinput mode in the case where the user is a beginner, and “How can Ichange the input mode to enter in Katakana?” has been input in a Romaninput mode.

FIG. 39 shows an example of input and output for help to change inputmode in a case where the user is a beginner, and “How can I change theinput mode to enter in Katakana.?” (same as in previous example) hasbeen input in a Japanese (Hiragana) input mode.

FIGS. 40 and 41 show examples of input and output for help to change theinput mode in cases where the user is a medium level user, and (the sameinput as in previous example) “How can I change the input mode to enterin Katakana?” has been input in the Romaji input mode and a Japaneseinput mode in a state respectively. In the aforesaid examples of help toGUI, either a help system, itself separate from the GUI or in case ofhelp along with GUI, query input means other than the GUI itself, e.g.,voice, are envisioned.

FIG. 42 shows an example of processing in a case where a query has beeninput by a user that “Is there mail from Mr. John?”. The system infersthat the goal of the user is DKNOW, that is, to know a fact. On thebasis of the goals; and plans knowledge shown in FIG. 43, the systemalso infers that this goal has been generated by DO-WORK goal.Accordingly, the system infers that it is not really that the user wantsto know whether the mail exists, but that if it does, he wants to readthe mail. Therefore, the system infers that it must display the mail. Ifa mail exists, the contents of the mail are displayed as shown in FIG.42 along with the information about the time of receipt.

FIG. 44 shows an example of a process to be performed in a case where aquery has been input by the user that “Is there a Wordprocessor on theMachine?”. In the system, the CA 36 analyzes the natural language inputand the understander detects that the goal of the user is DKNOW, thatis, to know a fact. On the basis of goals and plans knowledge shown inFIG. 45, the system infers that the main goal behind DKNOW is USE.Therefore, it is also inferred that finding existing wordprocessors isnot enough, rather, the ones which the user is allowed access to, mustbe found, and accordingly the output shown in FIG. 44 is generated.

FIG. 46 shows an example of a process to be performed when a query hasbeen input by a user that “Are there Patents on Natural LanguageUnderstanding?”. As in the previous two embodiments, it is inferred thatthe goal of the user is DKNOW, that is, to know a fact. Similar to theembodiment shown in FIG. 42, a discrimination is made that the user doesnot only want to know whether patents exist but that the user wants tolook at the patents. Assuming there are n patents, full contents of thepatents are output in a case where there are one or two patents, i.e.,n=1 or 2. If there are many patents, abstracts, titles and the like aredisplayed depending on the value of n (see FIG. 46). If there are toomany patents to display information about the patents, more informationto narrow the classification is requested from the user.

As described above, according to this embodiment, an optimum responsecan be realized for a minimum input given in a natural language.

Even if there is an error in the input information, the response can bemade after correcting for the error.

A system for processing information depending on the user will now bedescribed.

FIG. 47 is a function block diagram showing the basic components of aninformation processing system according to an embodiment of the presentinvention.

Referring to FIG. 47, in the input unit 1, input of commands by using akeyboard, selection of a button, input by a sensor and the like aregiven. An interpreting unit 37 interprets command input, or specifiedcontents corresponding to the selected buttons and states obtained bythe sensor.

A user information processing unit 38 uses the results of theinterpretation provided by the interpreting unit 37, knowledge of a usermodel and the history of operations performed by the user, which havebeen stored in the knowledge base 22, to infer the user's expertiselevel with respect to the system and the current operationalenvironment. Then, the system adds information about the result of theinference to the result of interpretation obtained by the interpretingunit 37 or processes the result of interpretation given by theinterpreting unit 37 in accordance with information about the result ofthe inference to convey thus obtained knowledge to an executing portion34. The executing portion 34 modifies the operational logic inaccordance with the foregoing knowledge to execute specified commandsand the like. The result of execution is, from the output unit 3, outputvia a display to the user or transmitted to another system, for example,a document preparation apparatus or output as information forcontrolling operating mechanisms.

FIG. 48 is a function block diagram showing the basic components of anatural language processing system according to an embodiment of thepresent invention.

Referring to FIG. 48, a natural language input unit 35 is used to inputinformation in a natural language, such as English or Japanese, from akeyboard or a voice recognizing apparatus. A concept analyzer 36analyzes input natural language information by using knowledge of thelanguage stored in the knowledge base 22 to output a conceptcorresponding to the input natural language information.

The user information processing unit 38 detects a goal (an object) ofthe user in accordance with input information or infers the attribute ofthe user, a user's goal or a plan to achieve the user's goal inaccordance with input information, knowledge of the user model stored inthe knowledge base 22 and the history of the user's operations. The userinformation processing unit 38 transmits the thus-inferred information(knowledge) to the executing unit 34. The executing unit 34 modifies theoperational logic in accordance with the information about the userprocessed by the user information processing unit 38 to executespecified commands and the like. The result of the execution is, fromthe output unit 3, output via a display to the user or transmitted toanother system, for example, a document preparing apparatus or output asinformation for controlling operating mechanisms.

Although the systems shown in FIGS. 48 and 49 have the architecture suchthat the history of the users operation is, as information about theuser, stored in the knowledge base, history of operations, which doesnot correspond to the user but which concerns the current process, maybe temporarily stored in the data memory to facilitate its use.

FIGS. 49 and 50 show examples of knowledge of user attributes in theknowledge base.

Part (a) of FIG. 49 shows the expertise levels in terms of the operationof the system or the like, wherein this attribute characterizes theusers as beginners, experts, medium level and revise level (although theperson had expertise but the he has almost lost the same due to a timelapse).

Part (b) of FIG. 49 shows the classification of interest level forobjects to be low, medium and high levels. The foregoing interest levelis an important factor for a system which is designed to provide help orteach something to the user. The system would use this factor to respondto the user appropriately and select the output means etc. such as tokeep or increase the user's interest level for example. For example, astory may be told, a film shown or specific portions highlighteddepending on the users and the situation.

Part (c) of FIG. 49 shows time limitation levels consisting of urgent,not so urgent, no limitation and the like. In accordance with the timelimitation, the system simplifies the output or performs a detaileddescription. In addition to the fixed levels, whether or not the taskmust be performed urgently there may be a specific time, for example,the absolute time e.g., by 9 pm or by Monday, may be considered.

Part (d) of FIG. 49 shows modes of communication from the system to theuser. In accordance with the time limitation for the task (refer to part(c)), the possible communication mode is determined to be descriptive orbrief.

Part (a) of FIG. 50 shows purposes for the user to use the system whichare classified into Learn, Use just now, if Use just now Get results,Test and so forth. The purpose is detected from the contents of theinput or inferred from other attributes.

Part (b) of FIG. 50 shows the styles. Since persons have peculiarstyles, ways of performing the process and likes and dislikes, thesystem takes into account the characteristics of persons to achieveefficient communication with the user. For example, a long message mustbe shortened for a user who likes simple and short messages. A detaileddescription as much as possible must be given and perhaps, also repeatedchecks must be made to ensure whether the user has understood thesubject or not, in a case of a user who is slow or if the subject matteris new.

Part (c) of FIG. 50 shows moods. Since human beings depend upon theirmoods unlike machines, the system discriminates the mood of the user toperform a process in accordance with the mood of the user. For example,if the user is sad, a message for encouraging the user is output or aninteresting story for the user is told (output to the user). Moreover,transmission of a message which might further depress the user, isdelayed. For example, in the case of electronic mail, the messages aresorted in such an order, that except if it is not urgent, bad news isdisplayed as late as possible.

Part (d) of FIG. 50 shows functionality and advantages. Theposition/context/function of the person who is operating the systemshould be an important factor in the performance and response of thesystem. For example, the demonstration of the system operation would bedifferent when the audiences are hopeful customers and as opposed towhere the audiences are students who study by observation.

FIG. 51 shows an example of a model of a user. In this system, the modelof the user includes a variety of attribute values shown in FIGS. 49 and50, a list of tasks to be performed, previous tasks (history ofoperations), the purposes and plans.

FIG. 52 shows a knowledge base which contains the knowledge of the usermodel shown in FIG. 51 for each user who uses the system.

FIG. 53 shows an example of a rule base classifying user's level ofexpertise. Using these rules, the user's expertise level, such asbeginner or otherwise is inferred. In this embodiment, the rules specifythat, if basic concepts are included in the query then the user must bea beginner, if intermediate concepts are included in the query then theuser must be a middle level user, and if advanced concepts are includedin the query then the user must be an advanced user. Another rule may bethat, if concepts of multiple levels are mixed, then the user can beinferred to be of an advanced level.

FIG. 54 shows an example of a knowledge base which has knowledge aboutthe relationship between command concepts and their levels. Theknowledge base may store forms of expression as well as the words alongwith concepts.

An example will row be described in which the output from an officemachine is changed in accordance with the situation.

In the case of a color copying machine, if the system infers that ademonstration is being performed for guests who need only to have afeel, excellent quality print is not required. However, if it isinferred that the demonstration is being made for prospective customers,a high quality output is generated. By controlling the output qualitydepending upon whether a draft copy or a final output is required, thecost can be reduced and time to complete the process can be shortened.

Predetermined sequential processes or fixed inputs are inferred to bedemonstrations or tests. If a sequential operation procedure highlightsan essential aspect of the system, it is inferred that the process is ademonstration. If input data is found to be limiting values of afunction, it is inferred that the process is most likely a test by aservice man.

FIG. 55 is a flow chart of a process performed by an informationretrieving system. In step S1001 information is input, and in stepS1002, surrounded by double lines, the user information processing unit38 infers the user attribute from input information and the knowledgebase 22. In step S1003 inferred user attribute is used to efficientlyand effectively modify the retrieval and information acquiring logics.In step S1004 retrieval is performed in accordance with the modifiedretrieving logic to output the result.

FIG. 56 is a flow chart for processing an input query “I am looking forsomething on “Multimedia systems”.

In step S1101 the foregoing query is input, then in step S1102 it isinferred that the user has no knowledge of “Multimedia systems”. Fromthe choice of expression of the query, it is inferred in step S1103 thatthe user is a beginner and that user's request is not urgent, and thecommunication mode is set to Descriptive. The foregoing factors are setas the attributes. In step S1104 the knowledge base is retrieved tosearch whether or not a brief description or presentation of the outlineof the multimedia exists. If it exists, the description found ispresented to the user and the user is queried for his interest. Inaccordance with the reply from the user, the process is continued.

If nothing has been found, a list of sub-classes of multimedia systemsis searched for. If no sub-class list is found, the user is asked tofurther specify the subject to be searched, and the process iscontinued. If the system finds a list of sub-classes then that isretrieved in step S1106 and in step S1108 it is presented to the userfor further specification.

Since it can be understood from the form of the first query that theuser is not interested in obtaining the list of all information itemsconcerning the multimedia and stored in the system, the subject to besearched can be narrowed.

FIG. 57 is a flow of the processing if a query “Do you remember thepaper entitled ‘When is a diagram worth more than thousand words’ orsomething close to that” has been input.

If the foregoing query has been input in step S1201, the system infersin accordance with the form of the query that the user has seen thearticle so that the level of the user is set to Revision as theattribute of the user in step S1202. In step S1203 it is searchedwhether the foregoing article is included in the latest retrievalhistory. If the article is included, the foregoing article is presentedto the user in step S1204. If the article is not found, then in stepS1205 it is inferred that a further hint can perhaps be obtained fromthe user as the user has seen the article. In step S1206 the type of themagazine is queried. An assumption is made that the information that thesize of the magazine was B5 is obtained in step S1207. In step S1208information that the field of interest of the user, for example AI, isaccessed from the information about the user, and the foregoinginformation and the size obtained in step S1207 are used to narrow therange of possible publications to be searched. Since the range to besearched is still considered to be too wide at this point, it isinferred in step S1209 that the tire of publication should be narrowed,and this query is made to the user in step S1210. An assumption is madehere that the time of publication is about end of the 1980's has beenobtained in step S1211. In step S1213 the range to be researched islimited in accordance with the obtained information so that theretrieval is performed efficiently. In step S1213 the obtained result isoutput.

FIG. 58 is a flow chart of the process when a query “Can you find thepresentation material” has been input.

If the foregoing query has been input in step S1301, the system in stepS1302, infers that the foregoing request is urgent in accordance withthe form of the query and priority is given to this task. Thus, theforegoing case is processed prior to performing other jobs. Then,required information is efficiently retrieved. Further, it is inferredthat user may not only want to see it, but also have a hard copy; alsosince it is presentation material, he may directly want an OHP set. Instep S1303 whether an ORP is required, whether one copy bundle isprinted out and the like are queried. Further, if it is known that thesecretary of the user has copied the document from the history of theoperations of the secretary due to retrieval of the other user models instep S1302. this fact can be notified to the user.

If the query is “Fetch the letter I wrote to John” in the form of animperative sentence, the system infers that the process is urgent. Inthe foregoing case, the process is performed similarly to the flow chartshown in FIG. 58.

When the system constructs the user model for each user, the system alsotakes into account the style of each user in the model. If a certainuser repeats inputs in the form of an imperative sentence, the systeminfers that the imperative input is the style of that user and the rulebase is modified to that effect, so that, even if an imperative input isgiven by the user, the commanded task is not inferred to be an urgenttask. In such a case, the user must employ another input form, forexample, a form in which, for example, “I need . . . quickly” is addedto the foregoing input sentence to exact the normal ‘urgent task’inference from the system.

FIG. 59 is a flow chart for processing a query “Do you know aboutKennedy Assasination?” has been input.

If the foregoing query has been input in step S1401, the system searchesfor information about Kennedy in step S1402. If there is no informationabout Kennedy, the system displays, to the user, its ignorance of thesubject and a message for requiring information about Kennedy in stepS1403. Then, the operation proceeds to step S1406. If there isinformation about Kennedy, further information about KennedyAssasination is searched for in step S1404. If there is no information,the system displays, to the user, a message for requiring informationabout Kennedy Assasination. Then, the operation proceeds to step S1406.If there is information about Kennedy Assasination, the information ispresented to the user. In step S1406 the information input by the userin response to system request is stored.

FIG. 60 is a flow chart for processing in case where a query from user“Could you tell me how Kennedy died?” is input after the system hasprocessed the query in the previous example input by another user, sayJohn (see FIG. 59).

If the foregoing query has been input in step S1501, the system searchesfor requested information in step S1502. In step S1503 the system infersthat John has further detailed information because the source of thesearched information is John and that notification of the informationsource might be helpful for the user. In step S1504 the system notifiesthe user of the source of the information along with the information.

An example will now be described in which the level of the user isinferred and help information for a query about the programming languagefrom the user is provided in accordance with the inferred level of theuser.

FIGS. 61 and 62 show an example of a dialogue between a user and thesystem.

Referring to FIG. 61, in a case (1), since the sentence input by theuser includes a term “file” considered belonging to a naive levelconcept, it is inferred in accordance with the rule shown in FIG. 8 thatthe user is a beginner. If a noncommittal term such as “something” isincluded in the foregoing input sentence which is given to be a naivelevel concept, a similar inference can be made. As a result of theforegoing inference, the system outputs help information for a beginneras shown in (1).

In an example shown in (2) of FIG. 61, an inference is made inaccordance with the history of help information asked by the user andthe knowledge of the user model of the user that user requires onlysyntax. As a result of the inference, an output shown in (2) isgenerated.

In an example shown in FIG. 62, since the sentence input by the userincludes terms “binary data” and “random access” considered belonging toan advanced level concept shown in FIG. 54, it is inferred that the useris an expert (not a beginner) in accordance with the rule shown in FIG.53. As a result of this inference, an output corresponding to theinferred user level is generated.

As described above, effective and efficient processing taking intoaccount the level of the user, degree of urgency and the situation ofeach user can thus be achieved.

Thus, from the history of the system operation, parts of informationprocessing which are common to various sub-modules of the system or sameand/or similar processing previously executed etc. can be taken care ofand according, situation sensitive information processing can beachieved.

The foregoing architecture of the present invention may be applied to asystem consisting of multiple computers or a specific computer in asystem. The present invention can be applied to a case where a desiredprocess can be performed by a computer which executes a program, theprogram being permitted to be supplied from an external storage medium.The recording medium for storing the program is included within thescope of the present invention.

Although the invention has been described in its preferred form with acertain degree of particularity, many apparently widely differentembodiments of the invention can be made without departing from thespirit and the scope thereof. It is to be understood that the inventionis not limited to the specific embodiments thereof except as defined inthe appended claims.

What is claimed is:
 1. An information processing system for processinginformation, wherein a user has a goal, said information processingsystem is used in a present environment, and said information processingsystem is for processing information about an object the user uses, fordetecting the user's goal in using the object by sensing how the usermanually uses the object without a separate input by the user about theuser's goal, and for inferring requirements to achieve the user's goal,said system comprising: inputting means for inputting information; asensor for sensing an environmental condition of the present environmentaround the information processing system and for sensing how the usermanually uses the object; and safely controlling means for safelycontrolling the object without assistance from the user and inaccordance with the user's goal without a separate input by the userabout the user's goal by detecting with detecting means the user's goalin using the object by sensing with the sensor how the user manuallyuses the object without requiring a separate input by the user about theuser's goal, wherein said safely controlling means comprises: aknowledge base having knowledge of environmental conditions and usergoals and their requirements; inference means for retrieving data storedin said knowledge base in accordance with the inputted information andthe sensed environmental condition of the present environment to infer arequirement to achieve the user's detected goal, wherein said inferencemeans infers the requirement also in accordance with the detected user'sgoal; and outputting means for outputting the inferred requirement. 2.An information processing system according to claim 1, wherein saidinference means further infers a requirement whose correspondingresponse is the preceding inferred requirement.
 3. An informationprocessing system according to claim 1, wherein said inputting meansincludes selection means for selecting one of a plurality of candidates.4. An information processing system according to claim 1, wherein saidinputting means includes operation means for operating a predeterminedmechanism.
 5. An information processing system according to claim 1,further comprising processing means for performing a process whichcorresponds to the outputted requirement.
 6. An information processingsystem according to claim 1, further comprising history storage meansfor storing the history of inputted information and wherein saidinference means makes reference to the stored history.
 7. An informationprocessing system for processing information, wherein a user has a goal,wherein said information processing system is used in a presentenvironment, and is for processing information about an object the useruses, for detecting the user's goal in using the object by sensing howthe user manually uses the object without a separate input by the userabout the user's goal, and for inferring requirements to achieve theuser's goal, said system comprising: inputting means for inputtinginformation; a sensor for sensing an environmental condition of thepresent environment around the information processing system and forsensing how the user manually uses the object; and safely controllingmeans for safely controlling the object without assistance from the userand in accordance with the user's goal without a separate input by theuser about the user's goal by detecting the user's goal in using theobject by sensing with the sensor how the user manually uses the objectwithout requiring a separate input by the user about the user's goal,wherein said safely controlling means comprises: a knowledge base havingknowledge of environmental conditions, user goals and theirrequirements, responses corresponding to the requirements, planscorresponding to the requirements and results of execution of processes;requirement inference means for retrieving data stored in said knowledgebase in accordance with the inputted information and the sensedenvironmental condition of the present environment to infer arequirement to achieve the user's detected goal corresponding to theinputted information and the present environment, wherein said inferencemeans infers the requirement also in accordance with the detection ofthe how the user uses the object; plan construction means forconstructing a plan corresponding to the inferred requirement; andpredicting means for predicting a result of execution of the plan byperforming a simulation of the constructed plan.
 8. An informationprocessing system according to claim 7, further comprising determiningmeans for determining a process to be performed to prevent anundesirable result if said predicting means predicts the undesirableresult.
 9. An information processing system according to claim 8,further comprising executing means for executing the determined process.10. An information processing system according to claim 7, furthercomprising notifying means for notifying the user of the predictedresult of execution of the plan.
 11. An information processing systemaccording to claim 7, wherein said inputting means includes selectionmeans for selecting one of a plurality of candidates.
 12. An informationprocessing system according to claim 7, wherein said inputting meansincludes operation means for operating a predetermined mechanism.
 13. Aninformation processing system according to claim 7, further comprisinghistory storage means for storing the history of inputted informationand wherein said inference means makes reference to the stored history.14. An information processing method for processing information, whereina user has a goal, said information processing method is used in apresent environment, and said information processing method is forprocessing information about an object a user uses, for detecting theuser's goal in using the object by sensing how the user manually usesthe object without a separate input by the user about the user's goal,and for inferring requirements to achieve the user's goal, said methodcomprising the steps of: inputting information into an informationprocessing system; sensing an environmental condition of the presentenvironment around the information processing system with a sensor andfor sensing how the user manually uses the object; and safelycontrolling the object without assistance from the user and inaccordance with the user's goal without a separate input by the userabout the user's goal by detecting the user's goal in using the objectby sensing with said sensing step how the user manually uses the objectwithout requiring a separate input by the user about the user's goal,wherein said controlling step comprises the steps of: inferring arequirement for achieving the user's detected goal by retrieving datastored in a knowledge base having knowledge of requirements for usergoals in accordance with the inputted information and the sensedenvironmental condition, wherein said inferring step infers therequirement also in accordance with the detection of the how the useruses the object; and outputting the inferred requirement.
 15. Aninformation processing method according to claim 14, wherein saidinference step further infers a requirement whose corresponding responseis the preceding requirement obtained from the inference.
 16. Aninformation processing method according to claim 14, wherein saidinputting step includes a selection step for selecting one of aplurality of candidates.
 17. An information processing method accordingto claim 14, wherein said inputting step includes an operation step foroperating a predetermined mechanism.
 18. An information processingmethod according to claim 14, further comprising a processing step forexecuting a process which corresponds to a requirement output from saidoutputting step.
 19. An information processing method for processinginformation, wherein a user has a goal, said information processingmethod is used in a present environment, and said information processingmethod is for processing information about an object the user uses, fordetecting the user's goal in using the object by sensing how the usermanually uses the object without a separate input by the user about theuser's goal, and for inferring requirements to achieve the user's goal,said method comprising the steps of: inputting information into aninformation processing system; sensing an environmental condition of thepresent environment around the information processing system with asensor and for sensing how the user manually uses the object; and safelycontrolling the object without assistance from the user and inaccordance with the user's goal without a separate input by the userabout the user's goal by detecting the user's goal in using the objectby sensing with said sensing step how the user manually uses the objectwithout requiring a separate input by the user about the user's goal,said controlling step comprising the steps of: inferring a requirementfor achieving the user's goal by retrieving, in accordance with theinputted information and the environmental condition of the presentenvironment sensed in said sensing step with the sensor, data stored ina knowledge base having knowledge of requirements of user goals,responses corresponding to the requirements, and plans corresponding tothe requirements so as to infer a requirement for achieving the user'sgoal corresponding to the information and the present environment,wherein said requirement inference step infers the requirement also inaccordance with the detection of the how the user uses the object;constructing a plan corresponding to the requirement; and predicting aresult of execution of the plan by performing a simulation of theconstructed plan.
 20. An information processing method according toclaim 19, further comprising a determining step for determining aprocess to be performed to prevent an undesirable result if theundesirable result has been predicted in said predicting step.
 21. Aninformation processing method according to claim 20, further comprisingan executing step for executing the process determined in saiddetermining step.
 22. An information processing method according toclaim 19, further comprising a notifying step for notifying the user ofthe predicted result of execution of the plan.
 23. An informationprocessing method according to claim 19, wherein said inputting stepincludes a selection step for selecting one of a plurality ofcandidates.
 24. An information processing method according to claim 19,wherein said inputting step includes an operating step for operating apredetermined mechanism.
 25. An information processing method accordingto claim 19, further comprising a history storage step for storing thehistory of inputted information and wherein said inference step makesreference to the history stored in said history storage step.
 26. Acomputer readable storage medium storing a program for instructing acomputer to perform an information processing method, wherein a user hasa goal, said information processing method is used in a presentenvironment for processing information about an object the user uses,for detecting the user's goal in using the object by sensing how theuser manually uses the object without a separate input by the user aboutthe user's goal, and for inferring requirements to achieve the user'sgoal, said program instructing the computer to perform the followingsteps: receiving information input into the computer; sensing anenvironmental condition of the present environment around the computerwith a sensor and sensing how the user manually uses the object; andsafely controlling the object without assistance from the user and inaccordance with the user's goal without a separate input by the userabout the user's goal by detecting the user's goal in using the objectby sensing with said sensing step how the user manually uses the objectwithout requiring a separate input by the user about the user's goal,said controlling step comprising the steps of: inferring requirements toachieve the user's detected goal by retrieving data stored in aknowledge base having knowledge of user goals, requirementscorresponding to the goals in accordance with the received informationand the sensed environmental condition, wherein said inferring stepinfers the requirements also in accordance with the detection of the howthe user uses the object; and an outputting step for outputting theinferred requirements.
 27. A computer readable storage medium storing aprogram for instructing a computer to perform an information processingmethod for processing information, wherein a user has a goal, whereinsaid information processing method is used in a present environment forprocessing information about an object the user uses, for detecting theuser's goal in using the object by sensing how the user manually usesthe object without a separate input by the user about the user's goals,and for inferring requirements to achieve the user's goal, said programinstructing the computer to perform the following steps: receivinginformation into the computer; sensing an environmental condition of thepresent environment around the computer with a sensor and sensing howthe user manually uses the object; and safely controlling the objectwithout assistance from the user and in accordance with the user's goalwithout a separate input by the user about the user's goal by detectingthe user's goal in using the object by sensing with said sensing stephow the user manually uses the object without requiring a separate inputby the user about the user's goal, said controlling step comprising thesteps of: inferring a requirement to achieve the user's goal byretrieving data in accordance with the received information and thesensed environmental condition, the data being stored in a knowledgebase having knowledge of user goals, requirements of the goals,responses corresponding to the requirements, and plans corresponding tothe requirements, so as to infer a requirement for achieving the user'sgoal corresponding to the received information and the presentenvironment, wherein said requirement inference step infers therequirement also in accordance with the detection of the how the useruses the object; constructing a plan corresponding to the requirement;and predicting a result of execution of the constructed plan byperforming a simulation of the constructed plan.